package com.ruoyi.system.service;

import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.AssesManagement;
import com.ruoyi.system.domain.AssesRuleSystem;

import java.util.List;

/**
 * 考核管理Service接口
 *
 * @author ruoyi
 * @date 2024-04-22
 */
public interface IAssesManagementService
{
    /**
     * 查询考核管理
     *
     * @param id 考核管理主键
     * @return 考核管理
     */
    public AssesManagement selectAssesManagementById(Long id);

    /**
     * 查询考核管理列表
     *
     * @param assesManagement 考核管理
     * @return 考核管理集合
     */
    public List<AssesManagement> selectAssesManagementList(AssesManagement assesManagement);

    /**
     * 新增考核管理
     *
     * @param assesManagement 考核管理
     * @return 结果
     */
    public int insertAssesManagement(AssesManagement assesManagement);

    /**
     * 修改考核管理
     *
     * @param assesManagement 考核管理
     * @return 结果
     */
    public int updateAssesManagement(AssesManagement assesManagement);

    /**
     * 删除考核管理信息
     *
     * @param id 考核管理主键
     * @return 结果
     */
    public int deleteAssesManagementById(Long id);


    /**
     * 修改状态
     *
     * @param assesManagement 考核管理
     * @return 结果
     */
    public int updateAssesManagementStatus(AssesManagement assesManagement);


    /**
     * 添加系统规则考核
     *
     * @param assesRuleSystems 系统规则
     * @return 结果
     */
    public void insertAssesManagementSystem( List<AssesRuleSystem> assesRuleSystems,String startTime,String endTime,String deptTye);


    /**
     * 按照年度查询个人考核统计
     */
    public TableDataInfo selectRank(AssesManagement assesManagement,String effectiveTerm);
}
